package com.yulinlin.core.wrapper;

public interface ISelectWrapper<E,R> extends ISqlWrapper ,IEndWrapper<R>{

    //返回数据列配置
    IColumnWrapper<ISelectWrapper<E,R>> data();

    //表配置
    ITableWrapper<E,ISelectWrapper<E,R>> from();

    //条件配置
    IStringConditionWrapper<E,ISelectWrapper<E,R>> where();

    //条件配置
    IStringConditionWrapper<E,ISelectWrapper<E,R>> having();

    //分组
    ISelectWrapper<E,R> group(String name);

    //字段顺序
    ISelectWrapper<E,R>  orderByAsc(String name);

    //字段逆序
    ISelectWrapper<E,R>  orderByDesc(String name);

    //分页
    ISelectWrapper<E,R>  limit(int pageNumber,int pageSize);

    ISelectWrapper<E,R> lock();

}
